package com.example.employeemanagement.service;

import com.example.employeemanagement.dto.AttendanceListDto;
import com.example.employeemanagement.dto.AttendancePageQueryDto;
import com.example.employeemanagement.dto.PageResultDto;
import com.example.employeemanagement.entry.Attendance;
import com.example.employeemanagement.vo.AttendanceVo;

import java.util.List;

public interface AttendanceService {
    AttendanceVo createAttendance(AttendanceVo vo);
    List<AttendanceListDto> getAllAttendances();
    Attendance getAttendanceById(int id);
    AttendanceVo updateAttendance(int id, AttendanceVo vo);
    void deleteAttendance(int id);
    List<Attendance> getAttendancesAllByUserId(int id);
    
    /**
     * 分页查询考勤记录
     * 支持按姓名、工号、部门、考勤状态进行模糊查询
     * @param queryDto 查询参数
     * @return 分页结果
     */
    PageResultDto<AttendanceListDto> pageQuery(AttendancePageQueryDto queryDto);
}